1
制御フローのスペクトル:順次から例外的へ
AI031Lesson 8
00:00

標準的な制御フローは予測可能な進行です。プログラムカウンターは、順次論理または明示的なジャンプに基づいてアドレス $a_k$ から $a_{k+1}$ に移動します。しかし、 例外的制御フロー(ECF) この通常の流れとは異なる「急な」遷移を表しています。

1. 数学的モデル

プロセッサの実行は、各 $a_k$ が命令 $I_k$ に対応する列 $a_0, a_1, \dots, a_{n-1}$ です。ECFは、プロセッサ状態の変化—— イベント——が、アプリケーションの直近のコードパスにない専用ハンドラへのジャンプを引き起こすことで、この連鎖を断ち切ります。

2. 実装レベル

ECFはハードウェアとソフトウェアのギャップを埋めます。これは、ハードウェアレベルの 例外 (フォールト、インテリプリット)からオペレーティングシステムレベルの コンテキストスイッチング および シグナルまで広がります。

図8.1:例外の構造通常のフロー(スキップ)順次フロー(Iₖ)イベント!例外ハンドラオプション戻り(Iₖ₊₁)

3. 「急な」現実

ユーザーが Ctrl+C ディスクアクセスを要求するシステムコールであろうと、そのどちらかにかかわらず、ECFはCPUが別の「世界」——カーネル——にジャンプすることを強制し、システムが動的な状態変化に応答し続けることを保証します。

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>